<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <p data-lake-id="u4a6b5c1c" id="u4a6b5c1c"><br></p>
  <p data-lake-id="ub6b60d50" id="ub6b60d50"><span data-lake-id="udb0ae68f" id="udb0ae68f">GEO就是Geolocation的简写形式，代表地理坐标，Redis GEO 主要用于存储地理位置信息的，帮助我们根据经纬度来检索数据。</span></p>
  <p data-lake-id="u4f817a14" id="u4f817a14"><span data-lake-id="ua3893691" id="ua3893691">​</span><br></p>
  <p data-lake-id="ubc7d8f71" id="ubc7d8f71"><span data-lake-id="ue9930db1" id="ue9930db1">它主要支持如下命令：</span></p>
  <p data-lake-id="u9908f755" id="u9908f755"><span data-lake-id="u24c96ac0" id="u24c96ac0">​</span><br></p>
  <ul list="uf7eeda31">
   <li fid="uc886e654" data-lake-id="u89e82488" id="u89e82488"><span data-lake-id="u740d06d4" id="u740d06d4">GEOADD：添加一个地理空间信息，包含：经度（longitude）、纬度（latitude）、值（member）</span></li>
   <li fid="uc886e654" data-lake-id="ua35944f3" id="ua35944f3"><span data-lake-id="uc3dea423" id="uc3dea423">GEODIST：计算指定的两个点之间的距离并返回</span></li>
   <li fid="uc886e654" data-lake-id="ud45b1601" id="ud45b1601"><span data-lake-id="u1f12b913" id="u1f12b913">GEOHASH：将指定member的坐标转为hash字符串形式并返回</span></li>
   <li fid="uc886e654" data-lake-id="ue9c91021" id="ue9c91021"><span data-lake-id="u3b4b4af2" id="u3b4b4af2">GEOPOS：返回指定member的坐标</span></li>
   <li fid="uc886e654" data-lake-id="u84c4aa1d" id="u84c4aa1d"><span data-lake-id="u2b25fe47" id="u2b25fe47">GEORADIUS：指定圆心、半径，找到该圆内包含的所有member，并按照与圆心之间的距离排序后返回。</span></li>
   <li fid="uc886e654" data-lake-id="u2b956afe" id="u2b956afe"><span data-lake-id="uf2e05c33" id="uf2e05c33">GEOSEARCH：在指定范围内搜索member，并按照与指定点之间的距离排序后返回。范围可以是圆形或矩形。</span></li>
   <li fid="uc886e654" data-lake-id="u38d8c1c6" id="u38d8c1c6"><span data-lake-id="ufc1f631a" id="ufc1f631a">GEOSEARCHSTORE：与GEOSEARCH功能一致，不过可以把结果存储到一个指定的key。</span></li>
  </ul>
  <p data-lake-id="u6f639135" id="u6f639135"><br></p>
  <p data-lake-id="ucd2dcbb7" id="ucd2dcbb7"><br></p>
  <h1 data-lake-id="tVqxl" id="tVqxl"><span data-lake-id="u0590b3de" id="u0590b3de">扩展知识</span></h1>
  <p data-lake-id="uafe7279c" id="uafe7279c"><br></p>
  <h2 data-lake-id="ZKEYE" id="ZKEYE"><span data-lake-id="uf3d66e5b" id="uf3d66e5b">使用例子</span></h2>
  <p data-lake-id="u00057459" id="u00057459"><span data-lake-id="ua0cba033" id="ua0cba033">假设我们想要使用Redis存储和查询几个地点的位置。首先，我们将地点添加到Redis的地理空间集合中，然后我们可以根据位置查询附近的地点。</span></p>
  <p data-lake-id="u27823d55" id="u27823d55"><br></p>
  <pre lang="java"><code>
GEOADD locations 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
</code></pre>
  <p data-lake-id="ucf31ceeb" id="ucf31ceeb"><br></p>
  <p data-lake-id="u402cbc2b" id="u402cbc2b"><span data-lake-id="udb68bafb" id="udb68bafb" class="lake-fontsize-12" style="color: rgb(15, 15, 15)">这个命令将“Palermo”和“Catania”两个地点添加到名为</span><strong><span data-lake-id="uc3633c93" id="uc3633c93" style="color: var(--tw-prose-code)">locations</span></strong><span data-lake-id="u8222f695" id="u8222f695" class="lake-fontsize-12" style="color: rgb(15, 15, 15)">的地理空间集合中。</span></p>
  <p data-lake-id="u83f4cc60" id="u83f4cc60"><span data-lake-id="u96fd726f" id="u96fd726f" class="lake-fontsize-12" style="color: rgb(15, 15, 15)">​</span><br></p>
  <pre lang="java"><code>
GEORADIUS locations 15 37 100 km WITHDIST
</code></pre>
  <p data-lake-id="u01179e52" id="u01179e52"><br></p>
  <p data-lake-id="ua16adbc1" id="ua16adbc1"><span data-lake-id="u3a5340b9" id="u3a5340b9">这个命令会查找locations集合中距离经度15、纬度37、100公里范围内的所有地点，并返回它们的名称和距离。</span></p>
  <p data-lake-id="u8193531c" id="u8193531c"><span data-lake-id="u6d2b7336" id="u6d2b7336">​</span><br></p>
  <blockquote data-lake-id="ue9133bb7" id="ue9133bb7">
   <p data-lake-id="ub0531151" id="ub0531151"><span data-lake-id="u6f1cd341" id="u6f1cd341">WITHDIST：同时返回找到的项距离指定中心的距离。距离以命令的半径参数指定的单位返回。</span></p>
   <p data-lake-id="u78d8f015" id="u78d8f015"><span data-lake-id="u2bbd62cc" id="u2bbd62cc">WITHCOORD：还会返回匹配项的经度、纬度坐标。</span></p>
   <p data-lake-id="ue98e0214" id="ue98e0214"><span data-lake-id="u3d26bc67" id="u3d26bc67">WITHHASH：还会以52位无符号整数的形式返回项的原始geohash编码排序集分数。这只对调试有用，对一般用户来说用处不大。</span></p>
  </blockquote>
  <p data-lake-id="u756c348d" id="u756c348d"><br></p>
  <h2 data-lake-id="QyYIF" id="QyYIF"><span data-lake-id="u03fdea30" id="u03fdea30">Redis GEO实现查找附近的人</span></h2>
  <p data-lake-id="u6fbc0d66" id="u6fbc0d66"><strong><span data-lake-id="u5c241eeb" id="u5c241eeb">​</span></strong><br></p>
 </body>
</html>